import random
import os

def generate_test_case():
    # 随机生成数字个数 n
    n = random.randint(1, 20)
    
    # 随机生成 n 个正整数，每个整数的范围是 1 <= ai <= 10^9
    numbers = [random.randint(1, 300) for _ in range(n)]
    
    # 生成测试数据
    test_case = f"{n}\n" + " ".join(map(str, numbers)) + "\n"
    return test_case

def write_test_cases(input_directory, num_cases=5):
    # 确保输出目录存在
    os.makedirs(input_directory, exist_ok=True)

    # 用集合防止重复
    test_cases = set()

    # 生成 num_cases 个测试数据
    while len(test_cases) < num_cases:
        test_case = generate_test_case()
        test_cases.add(test_case)  # set 会自动去重

    # 将测试数据写入 .in 文件
    for i, test_case in enumerate(test_cases, 6):
        input_filename = os.path.join(input_directory, f"{i}.in")
        with open(input_filename, 'w') as f:
            f.write(test_case)

        print(f"输入数据已生成并保存到 {input_filename} 文件中")

# 目录路径
input_directory = r"C:\Users\ASUS\Desktop\2024年新生赛出题\2024年新生赛出题(非大一组)\C题\C题_input"

# 生成 10 个测试数据
write_test_cases(input_directory, num_cases=5)
